import argparse

# 设置命令行参数解析
parser = argparse.ArgumentParser(description="Simulation configurations for Modelica models.")

# args for dymola
parser.add_argument("--dymola_path", type=str,
                    default='C:\\Program Files\\dymola 2023x\\Modelica\\Library\\python_interface\\dymola.egg',
                    help="Path to the dymola.egg file")
parser.add_argument("--dymola_res_dir", type=str, default='D:\\pyProject\\dymola_test\\dymola_test\\dymola_res',
                    help="Directory to store results")
parser.add_argument("--dymola_tmp_dir", type=str, default='D:\\pyProject\\dymola_test\\dymola_test\\dymola_tmp',
                    help="Directory to store results")
parser.add_argument("--modelica_library_path", type=str,
                    default='C:\\Program Files\\Dymola 2023x\\Modelica\\Library\\Modelica 4.0.0',
                    help="Path to the Modelica standard library")
parser.add_argument("--method", type=str, default="Cvode", help="Method used for the simulation")
parser.add_argument("--stop_time_list", nargs='+', type=float, default=[500, 100],
                    help="List of simulation stop times")
parser.add_argument("--timeout", type=int, default=2000, help="Timeout for simulation in seconds")

# args for fmu
parser.add_argument("--jmodelica_path", type=str, default="D:\\JModelica.org-2.14",
                    help="Path to the JModelica installation")
parser.add_argument("--jvm_args", type=str, default="-Xms5G -Xmx60G",
                    help="JVM arguments for running the Modelica compiler")
parser.add_argument("--fmu_res", type=str, default="D:\\pyProject\\dymola_test\\dymola_test\\fmu_res",
                    help="Directory to store compiled FMUs")

# args for zq_sim
parser.add_argument("--msbuild_path", type=str,
                    default=r"MSBuild.exe",
                    help="Path to MSBuild executable.")

# parser.add_argument("--extracted_fmu_path", type=str,
#                     default=r"D:\zq2023\backendold\fmusdk\Examples\test1\model",
#                     help="Path to extract FMU contents.")
# parser.add_argument("--project_path", type=str,
#                     default=r"D:\zq2023\backendold\fmusdk\Examples\test1\test1.vcxproj",
#                     help="Path to the project file.")
# parser.add_argument("--build_exe_path", type=str,
#                     default=r"D:\zq2023\backendold\fmusdk\x64\Release\testno.exe",
#                     help="Path to the built executable.")
# parser.add_argument("--upper_project_path", type=str,
#                     default=r"D:\zq2023\backendold\fmusdk\DoublePendulumInitTip.sln",
#                     help="Path to the solution file.")
# parser.add_argument("--output_log_path", type=str,
#                     default=r"D:\pyProject\dymola_test\dymola_test\zq_res",
#                     help="Path for output log.")

parser.add_argument("--extracted_fmu_path", type=str,
                    default=r"D:\zq2023\backendold\fmusdkn\Examples\test1\model",
                    help="Path to extract FMU contents.")
parser.add_argument("--project_path", type=str,
                    default=r"D:\zq2023\backendold\fmusdkn\Examples\test1\test1.vcxproj",
                    help="Path to the project file.")
parser.add_argument("--build_exe_path", type=str,
                    default=r"D:\zq2023\backendold\fmusdkn\x64\Release\testno.exe",
                    help="Path to the built executable.")
parser.add_argument("--upper_project_path", type=str,
                    default=r"D:\zq2023\backendold\fmusdkn\DoublePendulumInitTip.sln",
                    help="Path to the solution file.")
parser.add_argument("--output_log_path", type=str,
                    default=r"D:\pyProject\dymola_test\dymola_test\zq_n_res",
                    help="Path for output log.")

# args for performance_comparison
parser.add_argument("--word_output_path", type=str,
                    default=r"D:\pyProject\dymola_test\dymola_test\Simulation_Results_Document.docx",
                    help="Path to the output word document")

configs = parser.parse_args()
